package com.hyt.it.ogt.pj.data.service.kw;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hyt.it.ogt.pj.data.model.dto.PaperDTO;
import com.hyt.it.ogt.pj.data.model.dto.StudentExtendDTO;
import com.hyt.it.ogt.pj.data.model.entity.kw.ExamCandidate;
import com.hyt.it.ogt.pj.data.model.entity.pj.Subject;
import com.hyt.it.ogt.pj.data.model.vo.pj.ObjectiveScoreVO;
import com.hyt.it.ogt.pj.data.model.vo.pj.StudentAnswerVO;


/**
 * <p>
 * 考试-考生 服务类
 * </p>
 *
 * @author liuqi
 * @date 2022-06-07
 */
public interface IExamCandidateService extends IService<ExamCandidate> {

    /**
     * 查询考生科目
     * @param projectId
     * @param admissionNum
     * @return
     */
    List<Subject> getCandidateSubject(String projectId, String admissionNum);


    /**
     * 获取试卷id、试卷版本号
     * @param subjectId
     * @param projectId
     * @param admissionNum
     * @return
     */
    List<PaperDTO> getPaperDTO(String subjectId, String projectId, String admissionNum);

    /**
     * 查询考生信息
     * @param projectId
     * @param admissionNum
     * @return
     */
    List<StudentExtendDTO> getCandidateInfo(String projectId, String admissionNum);

    /**
     * 查询考生答案
     * @param projectId
     * @param admissionNum
     * @return
     */
    List<StudentAnswerVO> getCandidateAnswer(String projectId, String admissionNum);

    /**
     * 查询客观题分
     * @param projectId
     * @param admissionNum
     * @return
     */
    List<ObjectiveScoreVO> getObjectiveScore(String projectId, String admissionNum);

    /**
     * 标记考生
     * @param projectId
     * @param admissionNum
     */
    void markCandidate(String projectId, String admissionNum);

}
